package com.java.business.system.permis.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.java.business.system.permis.bean.Menu;
import com.java.core.bean.LowerCaseKeyMap;

public interface MenuMapper {

	/**
	 * 添加菜单
	 * 
	 * @param menu
	 */
	public void add(Menu menu);

	/**
	 * 修改菜单
	 * 
	 * @param menu
	 */
	public void update(Menu menu);

	/**
	 * 删除菜单
	 * 
	 * @param menuid
	 */
	public void delete(String menuid);

	/**
	 * 设置Disabled
	 * 
	 * @param menu
	 */
	public void setDisabled(Menu menu);

	/**
	 * 设置菜单位置
	 * 
	 * @param menu
	 */
	public void setReplace(Menu menu);

	/**
	 * 根据菜单编号获取菜单信息
	 * 
	 * @param menuid
	 * @return
	 */
	public Menu getMenuById(String menuid);

	/**
	 * 获取菜单列表
	 * 
	 * @param menu
	 * @return
	 */
	public List<LowerCaseKeyMap> getMenuList(Menu menu);

	/**
	 * 获取角色所拥有的菜单列表
	 * 
	 * @param roleid
	 * @param parentid
	 * @return
	 */
	public List<LowerCaseKeyMap> getMenuListByRole(
			@Param("roleid") String roleid, @Param("parentid") String parentid);

	/**
	 * 获取用户所拥有的菜单列表
	 * 
	 * @param userid
	 * @param parentid
	 * @return
	 */
	public List<LowerCaseKeyMap> getMenuListByUser(
			@Param("userid") String userid, @Param("parentid") String parentid);
}
